Міністерство освіти і науки України
Національний університет «Львівська Політехніка»
Кафедра САПР
ЗВІТ
Про виконання лабораторної роботи №8 з курсу:
“Проблемно-орієнтоване програмування”
на тему:
ОСОБЛИВОСТІ МОВИ ОБ’ЄКТНО-ОРIЄНТОВАНОГО
ПРОГРАМУВАННЯ С++
1. МЕТА РОБОТИ
Мета роботи - ознайомлення з особливостями мови об’єктно-орiєнтованого програмування С++.
2. ТЕОРЕТИЧНА ЧАСТИНА
Основнi вiдмiнностi С++ вiд С
С++ - унiверсальна мова програмування, яка задумана так, щоб зробити програмування бiльш приємним для серйозного програмiста. С++ була розроблена так, щоб дати можливiсть однiй людинi без надмiрних зусиль написати програму в 2500 стрiчок.
За базову мову для С++ була вибрана мова С, тому що:
вона вiдносно низького рiвня.;
вiдповiдає бiльшостi задач системного програмування;
вже створено мiльони стрiчок бiблiотечних функцiй i сервiсних програм, написаних на С;
iснують сотнi тисяч програмiстiв, якi знають С.
Основна рiзниця мiж цими мовами полягає у методi побудови програм: мова С - модульна мова i внаслiдок цього парадигма програмування звучить так
Об’єктно-орiєнтоване програмування (ООП) включає в собi найкраще з структурного програмування i, використовуючи новi концепцiї дозволяє програмiсту набагато простiше розбити задачу на пiдзадачi, якi пiддаються керуванню. Цi концепцiї називаються: об’єкти, полiморфiзм, успадкування. Розглянемо їх детальніше.
Об’єкти
Об’єкт це логiчна одиниця, яка мiстить данi i код, що манiпулює цими даними. Всерединi об’єкту, код i/або данi можуть належати тільки даному об’єкту i недосяжнi будь-де за межами об’єкту. Таким чином об’єкт забезпечує певний рiвень захищеностi вiд iншої частини програми, що може випадково змiнити або некоректно використати цi данi.
Об’єкт - це змiнна визначена самим користувачем. Коли ви визначаєте об’єкт ви неявно створюєте новий тип даних.
Інкапсуляція
Інкапсуляція (incapsulation) – це механізм, який зв’язує воєдино код і дані, якими він управляє, а також забезпечує їхній захист від зовнішнього або неправильного використання. Всередині об’єкту код (функція) і дані можуть бути закритими (private) або відкритими (public). До закритої частини коду або даних не можна доступитись зовні, відкриті код або дані доступні з довільної частини програми. Як правило, відкрита частина коду забезпечує керовану взаємодію (інтерфейс) із закритими елементами об’єкта.
Полiморфiзм
ООП пiдтримує полiморфiзм який означає що одне iм’я може бути використане для декiлькох зв’язаних, але дещо рiзних застосувань. Наприклад, ви можете мати програму, що визначає три рiзних типи стека. Один стек застосовується для типу integer, iнший для float а наступний для long. Завдяки полiморфiзму ви створюєте функцiї роботи з елементами стеку, наприклад, push(), pop(), а компiлятор сам вибере потрiбну функцiю в залежностi вiд типу виклику.
Поліформізм дозволяє спростити програму, створюючи один інтерфейс для виконання різних дій. Відповідальність за вибір конкретної дії (методу) і ситуації, яка при цьому виникає, покладається на компілятор. Програмісту не обов’язково вникати в цей процес. Необхідно лише пам’ятати відповідні правила, і коректно застосовувати загальний інтерфейс.
Успадкування
Успадкування (inheritance) – це процес, впродовж якого один обєкт може набувати властивості іншого. Він займає авжливе місце в С++, оскільки підтримує концепцію класифікації (classification).
Форматування
Деколи виникає необхідність регулювати вивід тексту. Функція width() вказує мінімальне число символів, які будуть використані наступною операцією виводу числового значення або символьної стрічки.
Відкривання і закривання файлів
В С++ реалізуються три типи потоків для роботи з файлами.
ifstream in; відкривання файла для читання
ofstream out; відкривання файла для запису
fstream both; відкривання файла для читання і запису
Якщо ви відкрили потік, єдиний шлях зв’язати потік з файлом реалізується функці...